﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using MJM.RPP.EntidadesNegocio;
using MJM.RPP.AccesoDatos;
using System.Data;

namespace MJM.RPP.ComponentesNegocio
{
    public class ResponsableAgendaCN
    {
        protected static ResponsableAgendaAD objResponsableAgendaAD = new ResponsableAgendaAD();

        public int Insertar(ResponsableAgendaEN obj)
        {
            return objResponsableAgendaAD.Insertar(obj);
        }

        public List<ResponsableAgendaEN> Listar()
        {
            return objResponsableAgendaAD.Listar();
        }

        public List<ResponsableAgendaEN> ListarDependencia(int IdDependencia)
        {
            List<ResponsableAgendaEN> lst = Listar();
            
            List<ResponsableAgendaEN> lstreturn = new List<ResponsableAgendaEN>();
            PersonaTramiteCN objPersonaTramiteCN =new PersonaTramiteCN();
            for (int i = 0; i < lst.Count; i++)
            {
                if (lst[i].DEPARE_P_inID == IdDependencia)
                {
            //        lst[i].NombrePer = objPersonaTramiteCN.Obtener(lst[i].PAD_P_chIDPER).NombrePersona;
                    lstreturn.Add(lst[i]);
                }
            }
            return lstreturn;
        }

        public int Actualizar(ResponsableAgendaEN obj)
        {
            return objResponsableAgendaAD.Actualizar(obj);
        }

        public ResponsableAgendaEN Obtener(int id)
        {
            List<ResponsableAgendaEN> lst = Listar();
            for (int i = 0; i < lst.Count; i++)
            {
                if (lst[i].RESDEP_P_inID == id)
                    return lst[i];
            }
            return null;
        }
        
        public List<ResponsableAgendaEN> ListarArea(int idArea)
        {
            List<ResponsableAgendaEN> lst = Listar();
            List<ResponsableAgendaEN> lstreturn = new List<ResponsableAgendaEN>();
            PersonaTramiteCN objPersonaTramiteCN = new PersonaTramiteCN();
            for (int i = 0; i < lst.Count; i++)
            {
                if (lst[i].ID == idArea)
                {
                    lst[i].NombrePer = objPersonaTramiteCN.Obtener(lst[i].PAD_P_chIDPER).NombrePersona;
                    lstreturn.Add(lst[i]);
                }
            }

            return lstreturn;
        }

        public DataTable GetAnexos(String Area)
        {
            return objResponsableAgendaAD.GetListaAnexos(Area);
        }
    }
}
